package model.states;

import model.Compte;
import model.exception.CompteNonInitialise;
import model.exception.CompteNonValideException;
import model.exception.ForfaitNonValideException;

public abstract class EtatCompte {
	/**
	 * Solde du compte
	 * @param c Le compte en question
	 * @return le montant solder
	 */
	public abstract void solder(Compte c,float prixDeBase) throws CompteNonInitialise,ForfaitNonValideException,CompteNonValideException;
	/**
	 * Approvisionnement du compte
	 * @param c Le compte en question
	 * @param montant le montant a ajouter au crédit
	 */
	public abstract void approvisioner(Compte c,float montant) throws CompteNonInitialise,CompteNonValideException;
	
	/**
	 * Renvoie l'etat du compte (String)
	 * @return L'etat du compte (String)
	 */
	
	public abstract String getStatus();
}
